Microsoft 365 Calendar
The Microsoft 365 Calendar data source allows you to show calendar data from Exhange Online in Microsoft 365.
Requirements
- A Smartsign Microsoft 365 Calendar template data source license. When you select the datasource, License status shows Active or No license. Without a license, Select is disabled and a message asks you to contact your reseller or sales@smartsign.se.
- A Microsoft 365 work or school account with access to the relevant calendars. User must have full access delegation for each. Personal Microsoft accounts cannot connect.
- Screens must be able to reach https://booking.smartsigncloud.net
Microsoft 365 Calendar works the same way for on premise installations, with the same license check and without your own Microsoft app registration. It needs internet access to Smartsign's cloud services and to Microsoft.
Setting up the datasource
- Go to Templates -> Datasources.
- Select Add datasource -> Create new.
- Choose Microsoft 365 Calendar and click Select.
- Enter a name and description, connect the Microsoft 365 account and add the calendars, see Configuration below. Click Create.
- In Template Creator, under Datasources, click Connect new datasource and select the datasource.
Configuration
Microsoft 365 account and Calendar are set on the datasource. Show days ahead, Order by, Show expired bookings, Show progress and Data transformation script are set per template in Template Creator, under Datasource settings for this template, when you connect the datasource or edit its settings.
|
Setting |
Description |
Example |
|
Microsoft 365 account |
Click Connect to sign in with a Microsoft 365 account and authorize access to your data |
|
|---|---|---|
|
Calendar (available after connecting) |
One or more email addresses of calendars to show events for. Type each address and press Enter or comma to add it. The account used must have permission to access the calendars (Delegate permission "Full access") |
[conference@example.com](mailto:conference@example.com)
|
|
Check calendar (check-mark button next to Calendar) |
Test if the connected account has access to the configured calendars. It shows "All calendars are valid", or an error naming the calendars it cannot access and removes them from the list. | |
|
Show days ahead |
The number of days ahead to show calendar events for, from 0 to 14 |
0 (default) |
|
Order by |
Sort the events by Title, Room, Start time, End time, or Booked by. |
Start time |
|
Show expired bookings |
Determines if bookings continue showing after they have ended |
Disabled |
|
Show progress |
Shows a progress indicator for the rotation of items |
Disabled |
|
Data transformation script |
Careful! Programming knowledge required. It's possible to transform/manipulate the data before showing it by providing a script here. The JSON data is available in the variable "input" Moment.js is available to work with date/time. The function must return the data when the transformation is completed. |
|
If the connection to your Microsoft account has expired, checking the calendars shows "You've previously linked Smartsign Integration to your Microsoft account. If you would like to continue with the previous settings, you need to reconnect to your Microsoft account." Remove the account and click Connect again.
Data binding
Text elements can be bound to Title, Room, Booking - Description, Booked by, Booking - Start time and Booking - End time. Start and end time have a Date format, and each binding has an Index that sets which booking to show.
Permissions required
Smartsign M365 Calendar Integration, Application (client) ID : 40a820f2-9cfc-4fc2-829b-7f940b064dd4
| Permission | Type | Microsoft description | Used for |
|---|---|---|---|
| Calendars.Read.Shared | Delegated | Read user and shared calendars | Read calendar data from calendars which the user has access to |
| User.Read | Delegated | Sign in and read user profile | Read user details |
The sign-in also asks for the standard openid, profile and offline_access permissions, so the Microsoft consent dialog also shows "Maintain access to data you have given it access to".